home *** CD-ROM | disk | FTP | other *** search
/ Merciful 1 / Merciful - Disc 1.iso / software / l / lsd_sprint_docs_disks / lsdsprintdoc'sdisk07.dms / in.adf / ImageLink.doc.pp / ImageLink.doc
Encoding:
Text File  |  1990-09-07  |  58.9 KB  |  1,463 lines

  1.                                ImageLink
  2.  
  3.                                Contents
  4.  
  5. Acknowledgements..................................................... i
  6. Contents............................................................ ii
  7. About This Manual.................................................... 1
  8. Getting Started...................................................... 3
  9.     Overview..................................................... 3
  10.     The Main Window.............................................. 3
  11.     Selecting Modules............................................ 4
  12. Standard Operation................................................... 7
  13.     Linking Modules.............................................. 7
  14.     The Conversion Process....................................... 7
  15.     The File Requester........................................... 8
  16.     Starting A Conversion....................................... 10
  17.     Color....................................................... 10
  18.     Dithering................................................... 11
  19.     Compression................................................. 12
  20.     Scaling..................................................... 12
  21.     Image Geometry.............................................. 13
  22.     Image Bounds................................................ 14
  23.     Aspect Ratios............................................... 14
  24.     Scaling Methods............................................. 14
  25.     Module Status............................................... 16
  26.     Aborting A Conversion....................................... 16
  27. Advanced Techniques................................................. 19
  28.     The ARexx Interface......................................... 19
  29.     Quiet Mode.................................................. 19
  30.     Command Summary............................................. 20
  31.     Sample ARexx Script......................................... 22
  32.  
  33.                 ii
  34.  
  35.     Single Frame Recording...................................... 24
  36.     MicroIllusions Transport Controller......................... 25
  37.     Other Uses For ARexx........................................ 26
  38.     ARexx Error Codes........................................... 26
  39. Tips Tricks and Technical Info...................................... 27
  40.     Pixels, BitMaps and ColorMaps............................... 27
  41.     BitMap Organization......................................... 29
  42.     Color Reduction............................................. 31
  43.     Color Quantization.......................................... 31
  44.     Dithering................................................... 32
  45.     Scaling and Aspect Ratios................................... 32
  46.     ARexx Scaling Syntax........................................ 33
  47.     Working With Large Images................................... 34
  48.     Storage Issues.............................................. 34
  49.     Other Operating System Formats.............................. 35
  50.  
  51.                          Appendices
  52.  
  53.     Module Detail and Discussion................................ A-1
  54.     Installation................................................ B-1
  55.     Error Messages.............................................. C-1
  56.     References.................................................. D-1
  57.     License and Warranty Registration........................... W-1
  58.  
  59.                 iii
  60.  
  61.                          About This Manual
  62.  
  63. This manual was composed entirely using Amiga personal computers.  The
  64. cover art was rendered using Sculpt-Animate 4D from Byte by Byte, converted
  65. to IFF using ImageLink and color separated using Professional ScanLab from
  66. ASDG.  The over and entire manual were typeset using Professional Page from
  67. Gold Disk.
  68.  
  69. Each page has a border of 2 inches along the outer edge.  This space
  70. contains section names for quick identification of material of interest, as
  71. well as icons and notes to emphasize and highlight the material in certain
  72. sections.  The manual is divided into the following sections:
  73.  
  74.     1. About This Manual
  75.     2. Getting Started
  76.     3. Standard Operation
  77.     4. Advanced Techniques
  78.     5. Tips, Tricks and Technical Info
  79.     A. Module Detail and Discussion
  80.     B. Installation
  81.     C. Error Messages
  82.     D. References
  83.     W. License and Warranty Registration
  84.  
  85. The "Getting Started" section provides an overview of the ImageLink user
  86. interface.  Novice users should read this section first.  The section
  87. "Standard Operation" describes the con-
  88.  
  89.                 1
  90.  
  91. version process from start to finish.  "Advanced Techniques" describes how
  92. to write batch scripts in ARexx.
  93.  
  94. The section "Tips, Tricks and Technical Info" provides further insight on
  95. optimizing the conversion process as well as what is really going on behind
  96. the scenes in ImageLink.  This includes some technical information on the
  97. organization of various BitMap formats.
  98.  
  99. Detailed descriptions of various modules are included as appendices.  The
  100. ImageLink package comes with documentation for a base set of modules. 
  101. Additional modules will include documentation for insertion in this section
  102. of the manual.
  103.  
  104. Throughout this manual, the term "button" is used as a synonym for
  105. Intuition gadgets.  Any text to be typed in by the user, including all
  106. script commands, is represented in a standard typewriter font, e.g.: [Type
  107. This].  The term "ghosted" refers to the state where a button cannot be
  108. selected and is obscured by a pattern of dots.
  109.  
  110. Please take the time to read the license and warranty section in the back
  111. of the manual, and send in your warranty registration.
  112.  
  113.                 2
  114.  
  115.                          Getting Started
  116.  
  117. Overview
  118.  
  119. ImageLink is a powerful system for the conversion of multiple format
  120. bit-mapped images.  To convert images an input and output format are
  121. selected.  ImageLink links its special modules together to perform the
  122. necessary conversions.  During the conversion, the number of colors in the
  123. image can be reduced or the image can be scaled to a new size.  ImageLink
  124. provides the user with a number of flexible options for operation.
  125.  
  126. Each image format has a corresponding input or output module within the
  127. ImageLink system.  The ImageLink interface is designed to be both easy to
  128. use and expandable at any time through the addition of new modules.
  129.  
  130. The Main Screen
  131.  
  132. After ImageLink is run from either the WorkBench or the CLI, the main
  133. ImageLink screen appears (see Figure 1).  The screen is divided vertically
  134. into two sections.  These show the input and output modules available for
  135. selection (alphabetically sorted) and which are currently selected. 
  136. ImageLink can
  137.  
  138.                 3
  139.  
  140. be configured from external ARexx scripts to start with default modules of
  141. your preference.  This procedure is outlined later in the chapter on
  142. Advanced Techniques.  If ImageLink is to be installed on a hard disk refer
  143. to Appendix B.
  144.  
  145. Selecting Modules
  146.  
  147. Once the ImageLink main screen is opened, modules for the input and output
  148. formats may be selected with the mouse.  As new modules are selected, their
  149. names will appear in the boxes below the lists of available modules.  The
  150. arrows and scroll bars can be used to scroll through the list of all
  151. available modules if there are more modules available than will fit within
  152. the display area.
  153.  
  154. Once both an input and output module are selected, the button at the bottom
  155. left of the display, labeled "LINK", will change from its previous
  156. "ghosted" state.  This indicates that two valid modules have been selected
  157. and the conversion process may begin.  The program can be terminated by
  158. selecting the "EXIT" button.
  159.  
  160. The basic ImageLink package contains modules for several conversions.  More
  161. detailed descrip-
  162.  
  163.                 4
  164.  
  165. tions can be found at the end of this manual:
  166.  
  167. Module                Depth    Width    Height    Type
  168. ------                          -----   -----   ------  ----
  169.  
  170. Caligari Broadcast File            32²     Unl    Unl    Input
  171. DigiView RGB File        21¹     Unl    Unl    Input
  172. Compuserve GIF File         8    Unl    Unl    Both
  173. IFF ILBM File            24    Unl    Unl    Both
  174. Macintosh PICT File        32²    Unl    Unl    Both
  175. PC PaintBrush PCX File         8    Unl    Unl    Both
  176. Sculpt Direct            24    Unl    Unl    Input
  177. Sculpt Raw RGB File        24    Unl    Unl    Both
  178. Truevision TARGA File        32²    Unl    Unl    Both
  179. Impulse Turbo Silver File    24    Unl    Unl    Both
  180.  
  181. Note that "Width" is the maximum width image a module will either read in
  182. (input) or write out (output).  For width and height, "Unl" means
  183. "Unlimited" (in theory - the practical image size limit in ImageLink is
  184. 32768 X 32768) and "Depth" reflects the maximum number of colors (as bits
  185. per pixel) a module will handle.  "Type" indicates whether a module is
  186. provided for input, output or both input and output.  Refer to the section
  187. on "Tips, Tricks and Technical Info" for more insight into these
  188. parameters.
  189.  
  190. ¹DigiView RGB is promoted to 24-Bit format internally by ImageLink.
  191. ²The Caligari, PICT and Targa support 32-Bits of data, but only 24-Bits
  192.  are significant for the display.
  193.  
  194.                 5
  195.  
  196.                  This page intentionally left blank.
  197.  
  198.                 6
  199.                              
  200.                         Standard Operation
  201.  
  202. Linking Modules
  203.  
  204. When the input and output modules are selected, the conversion may be
  205. started.  Selecting the button labeled "LINK" at the bottom left of the
  206. screen will change the display to the Module Action/Status Screen which is
  207. below in Figure 5:
  208.  
  209. The display is divided into two sections describing the current status of
  210. the Input and Output modules.  The word "Initialize" will appear in each
  211. section beside the label "Status:", indicating that the modules are being
  212. loaded by ImageLink.  After a brief pause, the word "Idle" will appear. 
  213. This indicates that the modules have been correctly loaded and are awaiting
  214. the command to call them into action.  The selection of modules may now be
  215. changed by selecting the "UNLINK" button and repeating the selection
  216. process.
  217.  
  218. The Conversion Process
  219.  
  220. In the general case, converting images requires that the "START" button be
  221. selected.  Certain modules described in later sections may actually
  222. initiate the conversion process through some other action (e.g. the Sculpt
  223. Direct Module) or
  224.  
  225.                 7
  226.  
  227. the process may be initiated via a script as described in the section on
  228. Advanced Techniques.
  229.  
  230. The File Requester
  231.  
  232. Certain modules will require a file name before proceeding with a
  233. conversion.  The general convention is that modules which are "File"
  234. modules will require file names, and modules which are "Direct" modules
  235. will not.  If a module requires a file name, a requester will appear
  236. filling most of the ImageLink screen, prompting for the selection of an
  237. appropriate file as shown below in figure 6³.
  238.  
  239. A brief line of text will appear at the top of the requester indicating
  240. which module is making the request.  For example, the requester in Figure 7
  241. was generated by an Input module.  If a module needs to read in or write
  242. out a file in the course of the conversion process, it will request a file
  243. name in this manner after it has been "Linked".  The input module always
  244. makes it's request before the output module.
  245.  
  246. ³The file requester used in ImageLink was written by Bruce Dawson and Colin
  247.  Fox.
  248.  
  249.                 8
  250.  
  251. The box on the right contains a list of all available devices and volumns
  252. on the system.  Selecting any one of these will cause the file requester to
  253. begin examining the files or directories contained on the selected volume
  254. or device.  The file names will appear in the large box on the left.  Files
  255. appear in the list as they are found on the disk.  Selecting the scroll bar
  256. or arrows will sort the list alphabetically. Files will have a number to
  257. the right representing the size in bytes of the file.  Directories will
  258. have the word "(dir)" to the right.
  259.  
  260. Selecting a File Name
  261.  
  262. File names may be selected with the mouse as soon as they appear.  The
  263. selected name will appear in the box labeled "File".  Selecting the button
  264. labeled "OK!" will confirm the selection.  Double clicking on the file name
  265. will select and confirm the choice with one action.  File names may also be
  266. entered by hand after selecting the "File" box and directly typing in the
  267. name of a file.  Selecting the "OK!" button or simply pressing 'return'
  268. will confirm the selection.  If the entire file name list is built, it may
  269. be viewed using the scroll bar and arrows on the right side of the list of
  270. file names.  Selecting the "Parent"
  271.  
  272.                 9
  273.  
  274. button will go back to the parent of the directory currently being
  275. examined.  Selecting another directory name will build a list of files and
  276. directories contained in that directory.
  277.  
  278. Changing File Names
  279.  
  280. After the file names have been selected, they may be changed by selecting
  281. the module file selection/status box which is labeled "Source:" for the
  282. input module and "Destination:" for the output module.
  283.  
  284. Starting a Conversion
  285.  
  286. Selecting the "START" button will begin the conversion.  The "START" button
  287. will become "ghosted" and the "UNLINK" button will change to an "ABORT"
  288. button which can be used to interrupt the conversion.  There may be a brief
  289. pause while certain input modules perform special housekeeping operations. 
  290. Refer to the section "Module Detail and Discussion" for information on the
  291. behavior of particular modules.
  292.  
  293. Conversion 
  294.  
  295. Color
  296.  
  297. The Conversion screen will appear as shown below in figure 9.  The left
  298. half of the display describes the process which will be used to convert the
  299. image and the right half describes the amount of color information
  300. available from, and to be used by the input and output modules. If an
  301. output module does not support a particular conversion method, the
  302. corresponding button under the heading "Conversion:" will be ghost-
  303.  
  304.                 10
  305.  
  306. ed.  Possible conversion methods include Color Map, Color Value, and Grey
  307. Scale.  Refer to the section on "Tips, Tricks and Technical Info" for more
  308. information regarding conversion methods.  As different conversion methods
  309. are selected, the box on the right hand side will reflect a list of all
  310. possible color choices for the output module under that format.  Selecting
  311. a color choice from this list will change the output colors appropriately. 
  312. The input module is always a fixed color value based on the image type
  313. being converted.  Selecting the "REVERT" button will reset all values to
  314. their initial defaults.  Selecting "ABORT" will return ImageLink back to
  315. the Module Action/Status screen without performing the conversion.
  316.  
  317. Dithering
  318.  
  319. Dithering may be turned off by selecting the button labeled "None".  Other
  320. dithering methods may be selected, but are not appropriate when converting
  321. from a lower to a higher number of colors or when converting between images
  322. of the same number of colors.  Refer to the section on "Tips, Tricks and
  323. Technical Info" for more in-
  324.  
  325.                 11
  326.  
  327. sight into dithering and dithering methods.
  328.  
  329. Compression
  330.  
  331. If an output module supports selectable compression methods, they may be
  332. enabled using the buttons labeled "Method 1" and "Method 2".  The default
  333. compression type is "None".  If a module doesn't allow selectable
  334. compression, but creates compressed output by default, the button labeled
  335. "Method 1" will be highlighted.  Refer to the section "Module Detail and
  336. Discussion" for information regarding compression methods supported by
  337. specific output modules.
  338.  
  339. Scaling
  340.  
  341. When all conversion methods have been chosen, selecting the "OK" button
  342. will confirm the choices and bring up the scaling screen as shown below in
  343. Figure 10.  The left half of the display describes the image geometry and
  344. selected bounds of the input and output data.  The right half describes the
  345. method used for scaling the image data as it is converted.  The values
  346. reflect what default settings the input and output modules have chosen
  347. based on the information available to them (e.g.
  348.  
  349.                 12
  350.  
  351. the dimensions of the input data and the output format/device).
  352.  
  353. Certain modules (most notably certain input modules such as the Sculpt RGB
  354. File input module) may not know the exact dimensions of the data they will
  355. be dealing with.  In this case, they will either present values of zero for
  356. the width and height or automatically take on the default dimensions of the
  357. output.  The user must assure that these values are valid before proceeding
  358. with the conversion.  Selecting the "REVERT" button will reset all values
  359. to their initial defaults.  Selecting "ABORT" will return ImageLink back to
  360. the Action/Status screen without performing the conversion.
  361.  
  362. Image Geometry
  363.  
  364. The fields on the left describe the actual ("Original") width and height of
  365. the input or output image, the selected bounds of the input and output
  366. image (also called the "device size"), and the pixel aspect ratio of the
  367. input and output image data.  In certain cases, these fields may be changed
  368. by selecting them and typing in new values.  If a module does not support a
  369. fixed size, or if a module's actual data size is undetermined (as it is
  370. with the Sculpt Raw RGB File), then the "Original" width and height may be
  371. changed by selecting the fields and entering new values.
  372.  
  373.                 13
  374.  
  375. Image Bounds
  376.  
  377. The "Bounds" fields describe offsets into the input or output image or
  378. device.  If a module does not support offsets, these fields will not be
  379. modifiable.  If the output module supports offsets, the button on the right
  380. labeled "Center Output Image" will be enabled.  Selecting this button will
  381. automatically calculate the required offsets for the output image to be
  382. "centered".
  383.  
  384. Aspect Ratios
  385.  
  386. Aspect ratios for both input and output may also be modified.  Modules will
  387. place values here based on the best information available to them, but
  388. sometimes image files will "lie" about their proper aspect ratios. 
  389. Therefore, this mechanism is provided to correct for improper aspect
  390. information.  These aspect values are used for calculations used with the
  391. various scaling methods ImageLink supports.  Refer to the section "Module
  392. Detail and Discussion" for more insight into correct aspect ratios for
  393. specific formats.  Refer to the section "Tips, Tricks and Technical Info"
  394. for more insight into the meaning of pixel aspect ratios.
  395.  
  396. Scaling Methods
  397.  
  398. The different scaling methods supported by ImageLink include:
  399.  
  400. Copy Input To Output: The default method (as supported in ImageLink Release
  401. 1.0).  This says "Copy the input to the output, clipping the input
  402.  
  403.                 14
  404.  
  405. data to the bounds of the output, not accounting for any aspect ratio
  406. differences."
  407.  
  408. Fill Output From Input: "Copy the input to the output, clipping to the
  409. bounds of the output, padding the input data to fill the output as
  410. necessary, not accounting for any aspect ratio differences."
  411.  
  412. Resize Straight: "Rescale the input data to exactly match the bounds of the
  413. output, not accounting for any aspect ratio differences."
  414.  
  415. Resize To Match Width: "Rescale the input data so that the height exactly
  416. matches the output, clipping or padding the height as necessary, not
  417. accounting for any aspect ratio differences."
  418.  
  419. Resize To Match Height: "Rescale the input data so that the height exactly
  420. matches the output, clipping or padding the width as necessary, not
  421. accounting for any aspect ratio differences."
  422.  
  423. Copy Width Aspect Adjust: "Copy the input to the output adjusting for any
  424. differing aspect ratios, clipping or padding the data as necessary."
  425.  
  426. Resize With Aspect To Width: "Rescale the input data so that the width
  427. exactly matches the output, clipping or padding the height as neces-
  428.  
  429.                 15
  430.  
  431. sary, accounting for any aspect ratio differences."
  432.  
  433. Resize With Aspect To Height: "Rescale the input date so that the height
  434. exactly matches the output, clipping or padding the width as necessary,
  435. accounting for any aspect ratio differences."
  436.  
  437. Module Status
  438.  
  439. After the scaling screen is confirmed by selecting "OK", the conversion
  440. process will begin.  As the data is converted each module will display its
  441. status in the module action/status screen.  "Waiting" indicates that the
  442. modules are active and waiting for data to be read or written.  "Reading"
  443. indicates the input module is reading a buffer of data for the conversion. 
  444. "Resizing" indicates that the image data is being scaled to a new size. 
  445. "Histograms" indicates that color histograms are bing built for a color
  446. reduction and "Cutting" indicate that a color reduction is bing performed. 
  447. The section "Tips, Tricks and Technical Info" provides more insight into
  448. color reduction.
  449.  
  450. Aborting a Conversion
  451.  
  452. "Converting" indicates that the data is being converted to the output
  453. module format.  "Writing" indicates that the output module is writing the
  454. data out in converted format.  Reading and writing (and possibly scaling)
  455. continue in paral-
  456.  
  457.                 16
  458.  
  459. lel until the entire image is converted.  Any errors will halt the
  460. conversion and produce and error requester describing the error.  The
  461. "ABORT" button will abort the conversion after the output module has
  462. completed the current write operation.  Refer to Appendix C for a
  463. discussion of error conditions and messages.
  464.  
  465. When the modules have completed their operation, their status will change
  466. back to "Idle".  The process may be started again using the same file names
  467. by selecting the "START" button, or new file names may be entered by
  468. selecting either file name box.  The "UNLINK" button terminates and unloads
  469. the modules.  When this happens, the action/status screen disappears and is
  470. replaced by the ImageLink main screen.  The modules selection process can
  471. now be repeated.  Selecting the "EXIT" button will exit the program
  472. completely.
  473.  
  474.                 17
  475.  
  476.                  This page intentionally left blank.
  477.  
  478.                 18
  479.  
  480.                          Advanced Techniques
  481.  
  482. The ARexx Interface
  483.  
  484. Licenses of Bill Hawe's ARexx package have even more flexible control over
  485. ImageLink.  Using ARexx, ImageLink may be controlled via external programs
  486. or externally generated scripts.  Repetitive action may be avoided by using
  487. ARexx to set up initial defaults, completely drive the conversion process
  488. via scripts or from other applications.  The script language is "case
  489. insensitive."  All letters will be converted to lowe case before ImageLink
  490. performs any processing.
  491.  
  492. Quiet Mode
  493.  
  494. The script language can be used for "Batch Mode" processing.  This allows
  495. the conversion of large amounts of data via unattended operation.  To run
  496. completely unattended, without using any Intuition screen (and valuable
  497. CHIP memory), ImageLink can be run in a special "Batch" mode.  CLI users
  498. should run ImageLink with the argument "QUIET", e.g.:
  499.  
  500.     1> ImageLink QUIET
  501.  
  502. The word "QUIET" can be entered in upper or lower case.  When run in this
  503. fashion, ImageLink will run in the background without opening any screens. 
  504. The only way to control or exit ImageLink at this point is via ARexx.
  505.  
  506. To direct ARexx commands to ImageLink, use
  507.  
  508.                 19
  509.  
  510. the ARexx command sequence:
  511.  
  512. options results;
  513. address ;ILINK' lock;
  514. if (rc ~=0) then do;
  515.     say "Could not open ImageLink";
  516.     exit;
  517. end;
  518. address value result;
  519.  
  520. This sets up a private communication channel between the ARexx program and
  521. ImageLink.  No other script or application may control ImageLink while an
  522. ARexx script is running.  The channel must be freed by issuing the "UNLOCK"
  523. command at the end of the script, or by "QUIT"ing ImageLink.  Commands may
  524. now be sent to ImageLink via ARexx.  The syntax for commands is as follows:
  525.  
  526. Command Summary
  527.  
  528. COLOR [CMAP | CVAL | GREY]
  529. [NUMBER] - Set number of output colors, reduction methods etc.
  530.  
  531. INIT - Insure the initial state.  Any transfer in progress (not initiated
  532. by an ARexx script) will be aborted, all modules will be unlinked etc.
  533.  
  534. INPMOD / OUTMOD [NAME] - Select the
  535.  
  536.                 20
  537.  
  538. Input or Output module.
  539.  
  540. INPFIL / OUTFIL [NAME] - Select the Input or Output file as appropriate.
  541.  
  542. ISCALE / OSCALE [XSIZE, YSIZE, XOFFSET, YOFFSET, XLIMIT, YLIMIT, XASPECT,
  543. YASPECT] - Set Scaling factors, input/output bitmap sizes, regions, aspect
  544. ratios etc.
  545.  
  546. LINK - Line the two selected modules together.
  547.  
  548. LOCK - Attempt to lock the ImageLink communications channel.  This must be
  549. the first command issued by an ARexx script and is not valid after the
  550. ARexx script has been started.
  551.  
  552. SCALEM [COPYIO | FILLOI | RESZS | RESZW | RESZH | COPAS | RSZAW | RSZAH] -
  553. Set the scaling method.  Refer to "Tips, Tricks and Technical Info" for
  554. details on the syntax.
  555.  
  556. START - Start a conversion.  All conversions under ARexx are synchronous in
  557. nature.  They can only be aborted by an error during the process or by
  558. selecting the "ABORT"
  559.  
  560.                 21
  561.  
  562. button when the user interface is active.
  563.  
  564. QUIT - Tell ImageLink to shut down.
  565.  
  566. RECORD [number] - Signal the MicroIllusions Transport Controller to record
  567. "number" frames.
  568.  
  569. UNLINK - Unlink the currently linked modules.
  570.  
  571. UNLOCK - Release the communications channel for others to use.
  572.  
  573. VERSION - returns the version number of the active ImageLink program in the
  574. format "type number" where "type" is the string "Release" and "number" is a
  575. string in the form "major#.minor#", e.g. 2.0.
  576.  
  577. Sample ARexx Script
  578.  
  579. A sample ARexx script with explanation in comments (/* */) follows:
  580.  
  581. /* Turn on result code passing */ 
  582. options results;
  583. /* Find and lock ImageLink */
  584.  address 'ILINK' lock;
  585. if (rc ~= 0) then do;
  586.     say "Could not lock ImageLink";
  587.     exit;
  588.  
  589.                 22
  590.  
  591. end;
  592. /* result contains the private channel */ 
  593. address value result;
  594.  
  595. /* Get the version string */
  596. version;
  597. say 'Version is 'result;
  598.  
  599. /* Insure the initial state */
  600. init;
  601.  
  602. /* Select input / output modules */
  603. inpmod "IFF ILBM File";
  604. outmod "Targa Direct";
  605.  
  606. /* Link the two modules together */
  607. link;
  608.  
  609. /* Loop here for multiple images */
  610. loop:
  611.  
  612. /* The input module needs a file name */
  613. inpfil "DH1:Pictures/Seat.24";
  614.  
  615. /* Don't dither the image */
  616. dither none;
  617.  
  618. /* User 24 bit-plane output */
  619. color cval 24;
  620.  
  621.                 23
  622.  
  623. /* Do a straight copy */
  624. scalem COPYIO;
  625.  
  626. /* Start the conversion */
  627. start;
  628.  
  629. /* Single frame record here */
  630.  
  631. /* Loop back for additional files */
  632.  
  633. /* Unlink the modules when done */
  634. unlink;
  635.  
  636. /* Free the channel */
  637. unlock
  638. /* Tell ImageLink to exit */
  639. quit;
  640.  
  641. /* Normal end of ARexx script */
  642. exit;
  643.  
  644. Single Frame Recording
  645.  
  646. One of the great features of ARexx and the Amiga's multitasking environment
  647. is the flexibility it provides for controlling multiple processes.  Because
  648. there are no tight restrictions on this environment, it becomes fairly
  649. straightforward to add new features to an existing application which were
  650. not previously possible in it's original design.  One such feature in
  651. ImageLink is the ability to control single frame recorders
  652.  
  653.                 24
  654.  
  655. from within the conversion process.
  656.  
  657. A single frame recorder allows the recording of frames in an animation to
  658. video tape one at a time.  When dealing with images which are large and
  659. complex due to their color depth etc., most machines don't have the
  660. bandwidth to play back animations in real time.  The ability to single
  661. frame record opens up new avenues of quality at the expense of instant
  662. feedback.  In the previous ARexx example there is one comment field which
  663. reads "Single frame record here".  The addition of a command which will
  664. signal a single frame controller program may be inserted at this point in
  665. the script.  Since ImageLink has just completed converting an image,
  666. perhaps to some high quality frame buffer, this is the correct time to
  667. record the frame to tape and then loop to render the next frame to the tape
  668. and then loop to render the next frame and record it to tape.  This process
  669. may continue until all the animation frames desired have been recorded to
  670. tape.
  671.  
  672. MicroIllusions Transport Controller
  673.  
  674. One system which ImageLink supports directly for single frame recording is
  675. the Transport Controller from MicroIllusions written by Mike Berro.  Once
  676. the Transport Controller is running with the proper module for the VTR, the
  677. ImageLink ARexx command "RECORD [number]" can be used to signal Transport
  678. Controller
  679.  
  680.                 25
  681.  
  682. to record a "number" of frames.  This will cause the Transport Controller
  683. to record the number of frames specified in the "number" argument.
  684.  
  685. Other Users For ARexx
  686.  
  687. Using ARexx, ImageLink may also be configured as an Image Conversion Server
  688. on a network of diverse imaging systems.  Data can easily be piped through
  689. ImageLink to convert images into formats readable by Apollo, HP, IBM,
  690. Macintosh, Silicon Graphics, Sun and a variety of other workstations and
  691. PC's.  There are a number of sample ARexx scripts provided on the ImageLink
  692. distribution disk in the "ARexx" directory.
  693.  
  694. ARexx Error Codes
  695.  
  696. ImageLink ARexx scripts can return the following error codes:
  697.  
  698. 80 - LOCK: ImageLink already Locked.
  699. 81 - UNLOCK: Nothing to UnLock
  700. 82 - LINK: No Input Module Selected
  701. 83 - LINK: No Output Module Selected
  702. 84 - START: No Input File
  703. 85 - START: No Output File
  704. 96 - Transfer Already In Progress
  705. 97 - No Such Module Exits
  706. 98 - No Such File or Can't Create File
  707. 99 - RECORD: Problem with Transport Controller
  708.  
  709.                 26
  710.  
  711.                  Tips, Tricks and Technical Info
  712.  
  713. BitMaps
  714.  
  715. What is a bitmap? A bitmap (commonly referred to as a raster) is a series
  716. of locations in a computer's memory which define the bounds (width, height)
  717. and makeup (color depth etc.) of a display or image.  The computer display
  718. hardware fetches information from this area in order to determine how to
  719. draw an image for its display.
  720.  
  721. Pixels
  722.  
  723. Every element in the bitmap can be represented by a Euclidean point (x,y). 
  724. These elements, known as pixels, map directly to unique memory locations
  725. which contain the information related to their visual representation.  Each
  726. pixel exists at x units to the right and y units down from the origin of
  727. the bitmap (0,0).  Pixels have a third dimension known as their "depth" or
  728. color value.
  729.  
  730. Color
  731.  
  732. Depth is what determines the amount of different colors a pixel is capable
  733. of representing.  The depth of a pixel is usually some power of 2, there 2n
  734. yields the total number of color values possible for the pixel (and usually
  735. the entire bitmap).  So, 2(5) would yield 32 possible color values, 2(8)
  736. would yield 256 possible color values etc.  2(24) will yield 16 million
  737. possible colors, also known as "True Color".  True color represents the
  738. maximum number of color values for each component.  Red, Green and Blue
  739. (RGB) being 2(8) or 256 possible values each.
  740.  
  741.                 27
  742.  
  743. Color Value
  744.  
  745. There are two ways to interpret the depth of a pixel to determine it's
  746. color.  The first is to take the pixel value and separate it into RGB
  747. components to yield an absolute color value which specifies an intensity of
  748. Red, Green and Blue.  This is easily done with a pixel whose depth
  749. represents a total number of bits which is evenly divisible by three (RGB).
  750. Some formats which aren't evenly divisible by three will sacrifice the
  751. color resolution of the lower frequency color spectrum (blue) and provide
  752. more bits of color depth to red and green.
  753.  
  754. Color Map
  755.  
  756. The second way to interpret depth is as an index into a table of color
  757. values, called a ColorMap.  Each entry in the ColorMap will contain an RGB
  758. color value using the maximum color resolution available in the display
  759. hardware.  This method is useful when the hardware can resolve more bits of
  760. color than it can display at any given time.  The Amiga has a color
  761. resolution of 12-bits; 4-bits each for R, G and B.  In normal display
  762. modes, at any given time the Amiga can only display 32 colors (because the
  763. hardware has only 32 total color registers).  Bitmaps are built using
  764. pixels which are 5-bits deep (2(5) yields 32 colors) and every bitmap has a
  765. ColorMap associated with it.  The ColorMap may contain 32 values out of a
  766. total range of 4096.  Some systems allow the storage of images with
  767.  
  768.                 28
  769.  
  770. either color values or color maps.
  771.  
  772. BitMap Organization
  773.  
  774. Not all bitmaps are created alike.  If they were, there wouldn't be a need
  775. for ImageLink.  The two most common methods for storing the individual
  776. elements of a bitmap are known as the Chunky and Planar methods.  Both
  777. formats have advantages and disadvantages.
  778.  
  779. Chunky Organization
  780.  
  781. In the case of Chunky, the bitmap is organized as consecutive storage
  782. locations in memory.  Every location contains the complete Red Green and
  783. Blue (RGB) value for the pixel it represents.  The computer display
  784. hardware will scan down this (contiguous) memory space as it draws each
  785. pixel consecutively from the top to the bottom of the display.  it is very
  786. efficient for general purpose hardware to modify bitmaps stored in this
  787. fashion.  A modification of a single pixel value will typically involve an
  788. operation on a single memory unit (byte, word or long).  This operation is
  789. common to most popular processor families such as the Motorola 640x0 family
  790. found in the Amiga.  There are cases when using general purpose hardware
  791. where operations on large regions of the bitmap which involve subtle
  792. modifications may become costly in CPU usage.  This situation becomes more
  793. severe as the depth increases
  794.  
  795.                 29
  796.  
  797. since the hardware will have to scan down increasingly large regions of
  798. memory even if only modifying one component of color (R, G or B).
  799.  
  800. Planar Organization
  801.  
  802. In the case of Planar organization, every pixel in a bitmap is broken down
  803. into its component bits.  Each component bit is placed in a separate region
  804. of memory known as a bit plane.  Some machines such as the Amiga have
  805. specialized hardware that operate on planar bitmaps.  The hardware
  806. maintains pointers to these separate locations and fetches the individual
  807. components from these memory regions to build a complete pixel.  Each bit
  808. represents a binary number (0 or 1).  The component bits are combined to
  809. form a number which represents either a real color value for the pixel or
  810. an index into a color map.  When the number represents a color value, the
  811. bits are usually grouped in R, G, B sorted order.  In this case, planar
  812. bitmaps lend themselves well to applications which need color components
  813. separated.  Many printing and image processing applications require or
  814. benefit from having separated components.  Having the components
  815. pre-separated by the nature of the bitmap organization can save significant
  816. processing time later.
  817.  
  818.                 30
  819.  
  820. Color Reduction
  821.  
  822. Many systems cannot display true color images.  They are often limited by
  823. memory or other hardware constraints.  The Amiga, for example, is capable
  824. of displaying a maximum of 4096 colors using it's special "HAM" (Hold and
  825. Modify) technique.  The fewer the colors a system can display, the less
  826. capable it is of displaying realistic images.  When the number of colors in
  827. an image is reduced, there are two methods for reducing the color.  The
  828. first requires little or no intelligence and simply throws away some range
  829. of colors in the image based on their physical location in the color
  830. palette.  If one of those colors was a major component color of the image,
  831. the resulting image will be severely distorted from it's original
  832. representation.
  833.  
  834. Color Quantization
  835.  
  836. The second method is more intelligent and requires considerably more
  837. computation.  The colors of the original image are examined and a histogram
  838. is constructed which describes the frequency and distribution of colors in
  839. the image.  A set of colors is chosen for the target space which takes into
  840. account the importance of various colors in the original image.  Paul
  841. Heckberts' Median Cut algorithm is used.  This algorithm successively
  842. divides the largest color cubes until enough colors have been selected. 
  843. This yields results which are far superior than simple color popularity
  844. alogrithms.
  845.  
  846.                 31
  847.  
  848. Dithering
  849.  
  850. An additional technique known as dithering may be applied to an image when
  851. reducing colors to help provide a truer representation of the original. 
  852. Dithering involves creating a pattern of two or more colors to approximate
  853. the appearance of another color which is not present in the palette. 
  854. ImageLink uses a method known as Floyd-Steinberg dithering (named after
  855. it's two creators).  This technique sacrifices spatial resolution for color
  856. resolution.  When dithering is applied to an image, some loss of dot
  857. resolution may occur, but the resulting increase in color resolution
  858. increases the perceived quality of the image to the human eye.
  859.  
  860. Scaling and Aspect Ratios
  861.  
  862. There are other issues in converting between image formats besides file
  863. layout and number of colors. Individual pixels have an additional
  864. characteristic known as their aspect ratio, or shape.  This shape is
  865. different depending upon the hardware being used to display the image. 
  866. Ultimately, we wold like all pixels to be perfectly square (aspect ratio of
  867. 1:1), but this is not so.  The Amiga is more complex in this regard than
  868. most other hardware platforms, since it's varying resolution modes for an
  869. NTSC compatible signal present a variety of possible aspect ratios for
  870. images.  The Macintosh is a very simple model - all pixels are always 1:1. 
  871. So an aspect ratio of 20:10 means that the image pixels are
  872.  
  873.                 32
  874.  
  875. twice as wide as they are high.  If this is to be converted to an aspect of
  876. 1:1, we must either double the output pixels in the vertical dimension, or
  877. halve them in the horizontal dimension.
  878.  
  879. ImageLink provides full feedback and control over image size and aspect
  880. ration.  Some Amiga software has the capability to render image data at
  881. arbitrary resolutions and aspect ratios.  The information provided by
  882. certain ImageLink modules can be used as advisory information for these
  883. software packages.  For instance, the Macintosh modules will advise that
  884. their aspect ratio (for overscan video images) is 1:1.  The Sculpt Direct
  885. input module can utilize this information to render at the correct aspect
  886. ratio for the Macintosh.
  887.  
  888. ARexx Scaling Syntax
  889.  
  890. The ARexx scaling syntax corresponds directly to the scaling methods
  891. presented in the Scaling screen:
  892.  
  893.     COPYIO Copy Input To Output
  894.     FILLOI Fill Output From Input
  895.     RESZS  Resize Straight
  896.     RESZW  Resize To Match Width
  897.     RESZH  Resize To Match Height
  898.     COPAS  Copy Width Aspect Adjust
  899.     RSZAW  Resize With Aspect To Width
  900.     RSZAH  Resize With Aspect To Height
  901.  
  902.                 33
  903.  
  904. Working With Large Images
  905.  
  906. Working with large images can be a problem when color reduction is involved
  907. since the entire image must be read into memory.  One thing that can help
  908. matters is to first perform a resizing operation and then do a color
  909. reduction on the resized image.  This can considerably reduce the demand
  910. for memory and achieve the desired results.  For instance, if a 24-bit
  911. Macintosh image at 1280x1024 is to be converted to a 352x480 HAM image,
  912. nearly four megabytes of contiguous memory will be required to perform the
  913. color reduction.  If the Mac image is first scaled to a 24-bit 352x480 IFF
  914. bitmap, only five hundred kilobytes will be required for the color
  915. reduction.
  916.  
  917. Storage Issues
  918.  
  919. Compress wherever possible.  Consider storing images in compressed form for
  920. long term storage even if the ultimate format needs to be something
  921. unrelated to that format.  The IFF format offers good compression ratios,
  922. especially for "computer generated" (e.g. ray-traced) images.
  923.  
  924. Large images mean large files.  Transporting these files to outside service
  925. bureaus can be difficult.  There are many possibilities for overcoming this
  926. problem:
  927.  
  928.     * Split the original file
  929.  
  930.                 34
  931.  
  932.     * Compress and archive the original file using a popular achieving
  933.       format (e.g., ARC, LHARC, ZIP, ZOO).
  934.     * Split and compress/archive the file
  935.  
  936. Split/Combine utilities as well as archieving programs are available in the
  937. public domain or as shareware.  Consult with a local user group or bulletin
  938. board for assistance in acquiring these utilities.
  939.  
  940. Other Operating System Formats
  941.  
  942. When working with foreign operating system formats, there are a number of
  943. products and utilities to aid in exchanging files:
  944.  
  945. For reading and writing MS-DOS disks:
  946.     Dos-2-Dos - Central Coast Software
  947.     CrossDos - Consultron
  948.  
  949. For reading and writing Macintosh disks:
  950.     Mac-2-Dos - Central Coast Software
  951.  
  952. These products are commercially available.  Consult your local dealer for
  953. price and availability.  Information can also be easily exchanged with
  954. other systems using popular communications software and file transfer
  955. protocols over modems or direct RS-232 lines.
  956.  
  957.                 35
  958.  
  959.                    Module Detail and Discussion
  960.  
  961. This section contains detailed discussion on using the various input and
  962. output modules that come with ImageLink.  As new modules are acquired,
  963. their documentation should be inserted here.
  964.  
  965. New modules are installed into the system by running the install script
  966. provided on the module distribution diskette.  Certain modules may require
  967. additional installation procedures which will be documented in the modules
  968. accompanying literature.
  969.  
  970.                 A-1
  971.  
  972.                          The Caligari Module
  973.  
  974. The Caligari module supports the 24-bit imaging capabilities of Octree
  975. Software's Caligari Broadcast Modeler.
  976.  
  977. The module will read the ".6rn" files produced by the Rendition rendering
  978. software from Numerical Design Ltd.  There is no restriction on image
  979. sizes.  To create the proper file from Caligari, enter the "Brender" menu
  980. from the scene module.  Choose the object attributes and enter the "Script"
  981. menu.  Create a script and use the "Save" option to generate all the ".6rn"
  982. image files in the script directory.  You may then use an ImageLink ARexx
  983. script to record the resulting frames to videotape or convert them to other
  984. formats.
  985.  
  986. It is also possible to use ImageLink to transfer Caligari image data over
  987. to the Targa board as Caligari creates each image.  Refer to the ARexx
  988. directory on the ImageLink distribution disk for a script with instructions
  989. for doing this.
  990.  
  991.                 A-CAL-1
  992.  
  993.                          The DigiView Module
  994.  
  995. The DigiView digitizer provides a low cost method for inputting images
  996. scanned with a video camera on the Amiga.  While a slow process, the
  997. digitizer is capable of maintaining a color resolution of 21-Bits per pixel
  998. for a total color resolution of 2,097,152 colors.  To maintain this color
  999. resolution in DigiView, you must use the "Save RGB" option when saving your
  1000. image from the DigiView software, otherwise you will simply be saving out a
  1001. standard Amiga IFF ILBM file with at most 4,096 colors.  The image may then
  1002. be brought into the ImageLink conversion system to be converted to other
  1003. formats or to be previewed on a frame buffer, sent to another imaging
  1004. device etc.
  1005.  
  1006. Note that ImageLink promotes DigiView images internally to 24-Bit images
  1007. for convenience.  The information is simply padded out to 24-bits, with the
  1008. original 21-bits being the only significant information used in the
  1009. conversion process.
  1010.  
  1011. Note on DigiView 4.0
  1012.  
  1013. DigiView 4.0 will produce 24-Bit IFF files which may be read in using the
  1014. IFF ILBM File module.  ImageLink will strip the proprietary DGVW chuck from
  1015. the DigiView file.
  1016.  
  1017.                 A-DGV-1
  1018.  
  1019.                             The GIF Module
  1020.  
  1021. The Compuserve GIF format is a popular format for the interchange of images
  1022. between a variety of PC's.  Very large databases of images can be found on
  1023. various electronic information services.
  1024.  
  1025. The format is limited to a maximum of 256 colors and the GIF Module will
  1026. read and write GIF images in 2, 4, 6, 8, 16, 32, 64, 128 or 256 colors. 
  1027. The input module will read images created in row-interleaved as well as
  1028. non-row-interleaved format.  When reading a row-interleaved image, there
  1029. will be a brief pause when a conversion is started as the whole image must
  1030. be read into memory.  The GIF output module will write all images out in
  1031. non-row-interleaved format.
  1032.  
  1033. There are several public domain GIF viewers available for IBM, Macintosh,
  1034. Atari and Amiga PC's.
  1035.  
  1036.                 A-GIF-1
  1037.  
  1038.                          The IFF ILBM Module
  1039.  
  1040. Overview
  1041.  
  1042. The IFF ILBM (Interleaved BitMap) modules which are supplied with ImageLink
  1043. will convert Amiga images for use on other systems or will convert other
  1044. image formats to IFF for viewing or other use on the Amiga (color
  1045. separation etc.)
  1046.  
  1047. As either an input or an output module, the IFF ILBM module requires a file
  1048. name.  Traditionally, Amiga IFF images have been limited to 2, 4, 8, 16,
  1049. 32, 64 or 4096 colors.  The ImageLink module supports ILBM files with a
  1050. full range from 2 to 16 million colors.  The format used is as described in
  1051. the 1989 Amiga Developers Conference notes as adopted by Commodore.
  1052.  
  1053. HAM (4,096 Colors) images are promoted to 24-Bit images (16 Million Colors)
  1054. internally by ImageLink.  ImageLink will also read and write 256 color
  1055. (8-bit) ILBM files for use on IBM machines and 8-bit Amiga frame buffers as
  1056. well as 18-Bit IFF files created by the Sharp JX-100 color scanner.
  1057.  
  1058. Amiga IFF supports a variety of aspect ratio formats depending on the Amiga
  1059. display resolution and the original source of the image data.  The
  1060. following table provides suggested aspect ratio values for standard Amiga
  1061. formats as well as for images created with particular Amiga packages:
  1062.  
  1063.                 A-ILBM-1
  1064.  
  1065.                Aspect Ratios for Standard Amiga Formats
  1066.  
  1067. 320x200        10:11
  1068. 320x400        20:11
  1069. 640x200         5:11
  1070. 640x400        10:11
  1071.  
  1072. Overscan values are the same (e.g. 704x480 is 10:11).
  1073.  
  1074. Sharp Scanners create images with an aspect of 10:11.
  1075.  
  1076.                 A-ILBM-2
  1077.  
  1078.                    The PC-PaintBrush (PCX) Module
  1079.  
  1080. PC-Paintbrush is a popular 2D paint package from ZSoft Corporation for the
  1081. IBM-PC.  ImageLink supports both reading and writing of files stored in the
  1082. ZSoft PCX format.
  1083.  
  1084. The initial release of the PC-PaintBrush modules support reading and
  1085. writing CGA, EGA, and Hercules (Monochrome) images.  For color, this means
  1086. the modules can read and write 2, 4, 8 and 16 color images.  Future
  1087. versions of this module will allow reading and writing VGA 256 color
  1088. images.
  1089.  
  1090.                 A-PCX-1
  1091.  
  1092.                             The PICT Module
  1093.  
  1094. Overview
  1095.  
  1096. The Macintosh uses an internal imaging model known as QuickDraw.  QuickDraw
  1097. produces image file in a format known as PICT.  The format known as PICT2
  1098. introduced support for color and the latest QuickDraw (32-Bit QuickDraw)
  1099. supports up to 16 million colors (true color).
  1100.  
  1101. Caveats
  1102.  
  1103. QuickDraw supports the imaging of structured graphics as well as bitmaps. 
  1104. These structured graphics are represented in PICT files as opcodes
  1105. (instructions) for drawing lines, curves, arcs as well as text.  The Amiga
  1106. does not support a standard imaging model for structured graphics, nor does
  1107. ImageLink.  Any information in a PICT file which describes either text or
  1108. other structured graphics is ignored by ImageLink, and only bitmap data is
  1109. extracted for the conversion process.
  1110.  
  1111. Conversion Issues
  1112.  
  1113. There are several methods available for reading and writing Macintosh files
  1114. on the Amiga.  Mac-2-DOS from Central Coast Software allows a Macintosh
  1115. floppy disk drive to be attached to the Amiga.  The more traditional method
  1116. of hooking the machines up via serial port or modem may also be used.  When
  1117. sending from the Macintosh, be sure to use standard XModem/Kermit etc.
  1118. Binary transfer.  In either case, you will have to be certain that the
  1119. correct Re-
  1120.  
  1121.                 A-PICT-1
  1122.  
  1123. source type is created on the Macintosh for the image file.  A Resource of
  1124. type "PICT" may be specified directly in Mac-2-Dos as the file is being
  1125. converted, or you may change the type using the dialog box from "Get Info"
  1126. on the Macintosh itself.
  1127.  
  1128. PICT2 images are typically 2, 8, 256, 32768 or 16 million colors.  The
  1129. ImageLink PICT module will correctly handle 32-Bit QuickDraw images, which
  1130. are images of either 32768 or 16 million colors.  For 32-bit QuickDraw, the
  1131. reader will read in images created in 32768 colors ("16-bit direct entry")
  1132. or 16-million colors (either 24-bit or 32-bit).  The writer will write out
  1133. in only the 24-bit format.  Both modules will handle 2 or 256 color images.
  1134.  
  1135. All Macintosh images have an aspect ratio of 1:1 (square pixels).
  1136.  
  1137.                 A-PICT-2
  1138.  
  1139.                        The Sculpt Direct Module
  1140.  
  1141. Overview
  1142.  
  1143. The Sculpt Direct module provides an interface directly to Byte-by-Byte's
  1144. Sculpt-Animate series of 3D modeling and rendering software packages.  This
  1145. provides a near seamless integration of ImageLink to Sculpt-Animate,
  1146. allowing Sculpt to take advantage of all the image conversion capabilities
  1147. of ImageLink, including immediate support for any frame buffer (such as
  1148. provided by the Targa Direct module) or other device for which there exists
  1149. an ImageLink module.
  1150.  
  1151. Installation
  1152.  
  1153. The module is provided in the default ImageLink configuration, but may
  1154. require some installation for a hard disk or customized floppy system.  In
  1155. addition to the module, a device driver is provided to interface with
  1156. Sculpt-Animate, using the Byte-by-Byte developed Frame Buffer interface. 
  1157. The basic ImageLink installation script will attempt to copy the device
  1158. driver to the currently assigned DEVS: directory.  If you wish to copy it
  1159. somewhere else, you may find it on your ImageLink disk as
  1160. devs/ilink-fb.device.
  1161.  
  1162. Rendering
  1163.  
  1164. ImageLink must be running with the Sculpt Direct input module and any
  1165. output module linked before starting Sculpt-Animate.  Rendering a frame or
  1166. series of frames must be done from the "EDIT MODIFY TAKE" menu as
  1167.  
  1168.                 A-SCD-1
  1169.  
  1170. described in the Sculpt-Animate manual.  From the global menu, turn off
  1171. "RAM Animation", turn off "Save Images", and select the "Frame Buffer"
  1172. button.  Sculpt will bring up a requester asking you to choose the frame
  1173. buffer driver.  Select the "ilink" driver.  If the "ilink" driver is not
  1174. present, you must copy the devs drawer from the ImageLink installation disk
  1175. to the Devs: directory on your system.
  1176.  
  1177. When a frame begins rendering, ImageLink will behave as though the START
  1178. button was selected.  Sculpt will not actually begin rendering the image
  1179. until the Conversion and Scale requesters in ImageLink have been satisfied.
  1180.  The Sculpt screen must be pushed to the back to reveal the ImageLink
  1181. screen when the Sculpt "Busy Gears" appear.  Once the Scale requester is
  1182. satisfied, the Sculpt screen will automatically pop back to the front of
  1183. the display.  Note that since ImageLink buffers it's data for a conversion,
  1184. if images are being rendered.  This behavior will continue for each
  1185. buffered group of scanlines until the image is complete.
  1186.  
  1187. If ImageLink is being run in quiet mode, the settings which have been
  1188. selected via ARexx
  1189.  
  1190.                 A-SCD-2
  1191.  
  1192. will be used for the conversion of each frame.  No requesters will
  1193. interrupt the conversion process, making this mode the preferred mode for a
  1194. single frame recording to tape.  Sample scripts are provided on the
  1195. ImageLink disk in the ARexx drawer for use with the Sculpt Take mode.
  1196.  
  1197.                 A-SCD-3
  1198.  
  1199.                      The Sculpt RGB File Modules
  1200.  
  1201. Creating Images
  1202.  
  1203. Sculpt-Animate 4D allows images to be rendered to disk in 24-Bits of color.
  1204. Selecting "BitPlanes" from the "Mode" menu in Sculpt will bring up a series
  1205. of requesters allowing you to define the dimensions and depth of the image.
  1206. A depth of 24 must be selected for later use with ImageLink.  Sculpt saves
  1207. out three separate files each for red green and blue.  You must tell Sculpt
  1208. to use the following file name suffixes for the input module to be able to
  1209. read the image:
  1210.  
  1211.     Red File:    .red
  1212.     Green File:    .grn
  1213.     Blue File:    .blu
  1214.  
  1215. Only one of the individual .red, .grn or .blu files need be selected as the
  1216. input file when reading a Sculpt image using the Sculpt RGB File input
  1217. module.  When writing a Sculpt RGB file, ImageLink will append the .grn,
  1218. .red and .blu suffixes to the filename selected for output.  Selecting
  1219. aspect ratios of 1 for both x and y is also recommended.
  1220.  
  1221. Caveats
  1222.  
  1223. Unfortunately, the raw RGB data which Sculpt writes out does not provide
  1224. for storing other information about the bitmap (size, depth etc.).  The
  1225. exact dimensions of the image rendered must be recorded for later
  1226. conversion with ImageLink.  ImageLink requires that the exact di-
  1227.  
  1228.                 A-SCR-1
  1229.  
  1230. mensions of the image be entered into the scale requester.  When the scale
  1231. requester appears, the dimensions of the input will be initially set to all
  1232. zeros.  The correct values for the input image must be entered here for the
  1233. conversion to work properly.  It is recommended that values which
  1234. correspond closely, if not exactly, to the desired output device/format be
  1235. used for rendering the original image.  This will yield the best possible
  1236. results.
  1237.  
  1238. Storage and Compression Issued
  1239.  
  1240. Note that since the RGB data is uncompressed, reading these files
  1241. progresses more rapidly than other compressed formats (such as IFF).  The
  1242. tradeoff is that the files take up much more disk space than a compressed
  1243. format would.  Allowances for extra disk space should be made when
  1244. converting from other formats to this format.  Effective compression can be
  1245. achieved by converting these images to 24-Bit IFF ILBM format using
  1246. ImageLink and the IFF ILBM Module.
  1247.  
  1248. Improving AntiAliasing in Sculpt
  1249.  
  1250. Special tip for Sculpt users: To improve the anti-aliasing of Sculpt images
  1251. in version 2.09c or earlier, render at twice the size of your target device
  1252. and use ImageLink to scale the data down.
  1253.  
  1254.                 A-SCR-2
  1255.  
  1256.                           The Targa Modules
  1257.  
  1258. The Targa File modules are provided to enable the reading and writing of
  1259. images in Truevision Targa (TGA) format.  These images may support either
  1260. the Targa 16, 24 or 32 boards from Truevision which provide 16¹, 24 or 32²
  1261. bits of color respectively.  The files created by ImageLink are suitable
  1262. for export to any system capable of reading images in Targa format, such as
  1263. IBM based Targa systems, Slide and Film recorders and production houses. 
  1264. If you would like the capability to use a standard Targa board in an Amiga
  1265. environment, please contact Active Circuits, Inc. about the Targa Direct
  1266. Module.
  1267.  
  1268. Conversion Issues
  1269.  
  1270. To get Targa files into and out of your system without using an IMB
  1271. Bridgeboard, we recommend using DOS-2-DOS from Central Coast Software which
  1272. will format, write and read IBM 3.5", 720K format disks.  You may also use
  1273. a direct or modem connection via the Amiga serial port to upload and
  1274. download to/from an IBM system.  Be sure to use a binary transfer protocol
  1275. when sending the images in this fashion.  If you are using a Bridgeboard,
  1276. you must copy the files across using the "/b" option, e.g.:
  1277.  
  1278.     A>AREAD AMIGAFile MSDOSFile /b
  1279.     A>AWRITE MSDOSFile AMIGAFile /b
  1280.  
  1281. ¹15 bits define the color (32,768 possible) and one bit defines the live
  1282.  video overlay plane.
  1283. ²24 bits define the color (16 million possible) and 8 bitplanes define the
  1284.  live video overlays etc.
  1285.  
  1286.                 A-TGA-1
  1287.  
  1288. The Release 2.0 Targa output module creates uncompressed "Type 2" or
  1289. compressed "Type 10" Targa files.  When a conversion is started using the
  1290. Targa input module, there will be an appreciable delay before the
  1291. color/conversion requester appears.  This is because Targa files are stored
  1292. in reverse scanline order from most common bitmap formats and ImageLink
  1293. must pre-scan the entire file before starting.  Type 10 files are written
  1294. in normal scanline order.  The Targa input module will read both Type 2 and
  1295. Type 10 (compressed) files in either normal or reversed scanline order. 
  1296. The input module will pause before continuing on to the conversion screen
  1297. if the Targa file is stored in compressed reverse scanline order.  This is
  1298. because the input has to scan the file to build an index for the compressed
  1299. lines in reverse order.
  1300.  
  1301.                 A-TGA-2
  1302.  
  1303.                        The Turbo Silver Modules
  1304.  
  1305. Overview
  1306.  
  1307. The Turbo Silver module as provided in the base ImageLink package, allows
  1308. the reading of images created by Impulse's Turbo Silver rendering package
  1309. or by the impulse paint package known as Diamond.  These packages create
  1310. images in one of three file formats: RGB4, RGBN and RGB8.  The ImageLink
  1311. module will read images created in either RGBN or RGB8 format.  The RGB8
  1312. format is used to store images in full 24-Bit color and should be the
  1313. preferred method for generating images with the Turbo Silver product.  The
  1314. module automatically recognizes which format (RGBN or RGB8) the image is,
  1315. no further user intervention is required.
  1316.  
  1317. Creating 24-Bit Files in Turbo
  1318.  
  1319. 24-Bit images may be created in Turbo by selecting "24 bit RGB" from the
  1320. "Modes" menu before loading or creating a CEL for editing or rendering.
  1321.  
  1322. Mimetics Frame Buffer
  1323.  
  1324. ImageLink Release 2.0 also provides a writer for the Turbo Silver RGB8
  1325. format.  Mimetics frame buffer owners can take advantage of this feature
  1326. along with ImageLink's rescaling capabilities to view images from a variety
  1327. of formats on their own boards.
  1328.  
  1329.                 A-TSV-1
  1330.  
  1331.                               Installation
  1332.  
  1333. To install ImageLink on a hard disk or other Amiga disk volume,
  1334. double-click on the "Install" icon (always work from a backup copy of your
  1335. original ImageLink disk).  A window will appear, prompting for the name of
  1336. the destination drive or volume.  Type in the name of the disk volume or
  1337. full path where ImageLink is to be placed.  For example, if you wish to
  1338. install ImageLink as DH0:ImageLink, enter the following:
  1339.  
  1340.                 DH0:
  1341.  
  1342. To install ImageLink as DH0:Bin/ImageLink, enter:
  1343.  
  1344.                 DH0:Bin
  1345.  
  1346. A new directory called ImageLink will be created, and ImageLink and it's
  1347. modules will be placed there.
  1348.  
  1349. Any required shared libraries will be copied to the LIBS: directory.  if
  1350. the library already exists, ImageLink will prompt for permission to
  1351. overwrite the existing copy with its own.  The script will then prompt for
  1352. special ImageLink drivers to be placed in the DEVS: directory (e.g. the
  1353. Sculpt-Animate driver).  Answer "Y" to have the drivers installed and "N"
  1354. is they are not to be
  1355.  
  1356.                 B-1
  1357.  
  1358. installed.  Note that they may be installed later by copying the files from
  1359. the devs drawer on the ImageLink installation disk to your DEVS drawer.
  1360.  
  1361.                 B-2
  1362.  
  1363.                           Error Messages
  1364.  
  1365. ImageLink makes every attempt to recover gracefully from error conditions. 
  1366. In the event of an error, a system requester, such as shown below in figure
  1367. 16 will appear.  The requester will describe whether the error was
  1368. encountered in the input or output module, and the type of error that
  1369. occurred.  Selecting the "OK" button will terminate the error requester and
  1370. reset ImageLink.
  1371.  
  1372. There are seven types of errors that may occur.  A description and
  1373. suggested course of action for each error type follow:
  1374.  
  1375. Data Format - The input data was nt in the correct format.  Check that the
  1376. file was created in the desired format and that the correct modules have
  1377. been selected.
  1378.  
  1379. File or Device Error - An error occurred while reading or writing the file.
  1380. This was likely caused by an AmigaDOS or media error.  Check the integrity
  1381. of the disk volumes being used.
  1382.  
  1383. Module Init - An error occurred while ImageLink was launching the modules. 
  1384. ImageLink must be started either from the Work-
  1385.  
  1386.                 C-1
  1387.  
  1388. Bench or from the CLI while CD'ed to the main ImageLink directory.  Verify
  1389. that the installation was performed properly.
  1390.  
  1391. No Memory - ImageLink could not allocate memory for it's internal buffers. 
  1392. If other applications are running, attempt to free their memory or shut
  1393. them down.  Color reduction requires that the entire original image be read
  1394. into memory at one time.  If there is not enough memory, consider reducing
  1395. the size of the original image first.
  1396.  
  1397. Protocol Error - A serious internal ImageLink error occurred.  Attempt to
  1398. re-create the situation reliably and contact Active Circuits, Inc. to
  1399. report the problem.
  1400.  
  1401. Terminate - An error occurred while ImageLink was unlinking the modules. 
  1402. Please contact Active Circuits, Inc. to report the problem.
  1403.  
  1404. Start Illegal - This input module cannot be started by the user, but must
  1405. be started by some external process or program.  Consult the documentation
  1406. on the input module for the correct procedure.
  1407.  
  1408.                 C-2
  1409.  
  1410.                             References
  1411.  
  1412. The following references may be useful in understanding bitmaps in computer
  1413. graphics:
  1414.  
  1415. Fundamentals of Interactive Computer Graphics
  1416. J.D. Foley, A. Van Dam
  1417. Addison Wesley
  1418.  
  1419. Bitmap Graphics SIGGRAPH '84 Course Notes
  1420. R Pike, L Guibas, D Ingalls
  1421. ACM SIGGRAPH 1984 COURSE NOTES
  1422.  
  1423. Graphics in Overlapping Bitmap Layers
  1424. Rob Pike
  1425. ACM Transactions on Graphics 1983
  1426.  
  1427. Procedural Elements for Computer Graphics
  1428. David F. Rodgers
  1429. Springer Verlag
  1430.  
  1431. Illumination and Color in Computer Generated Imagery
  1432. Roy Hall
  1433. Springer Verlag
  1434.  
  1435. Color Quantization For Frame Buffer Display
  1436. Paul Heckbert
  1437. ACM SIGGRAPH Proceedings 1982
  1438.  
  1439. Amiga ROM Kernal Manual
  1440. Addison Wesley
  1441.  
  1442.                 D-1
  1443.  
  1444. The following references may be helpful in learning how to use and write
  1445. ARexx scripts:
  1446.  
  1447. ARexx User's Reference Manual
  1448. William S. Hawes
  1449.  
  1450. A Practical Approach To Programming Rexx
  1451. M. F. Cowlishaw
  1452. Prentice Hall
  1453.  
  1454. Modern Programming Using Rexx
  1455. O'Hara, Gomber
  1456. Prentice Hall
  1457.  
  1458.                 D-2
  1459.  
  1460. ============================================================================
  1461.          DOCS PROVIDED BY  -+*+-THE SOUTHERN STAR-+*+- for M.A.A.D.                                                               
  1462. ============================================================================
  1463.